package com.tarena.lbs.coupon.service;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.coupon.api.pojo.param.UserCouponsParam;
import com.tarena.lbs.coupon.pojo.query.UserCouponCodeQuery;
import com.tarena.lbs.coupon.pojo.query.UserCouponQuery;
import com.tarena.lbs.coupon.pojo.vo.UserCouponsVO;

import java.util.concurrent.ExecutionException;

public interface UserCouponsService {


    void receiveCoupon(UserCouponsParam param) throws BusinessException, ExecutionException, InterruptedException;

    PageResult<UserCouponsVO> userCouponList(UserCouponQuery couponQuery) throws BusinessException;

    UserCouponsVO userCouponsDetail(UserCouponCodeQuery query) throws BusinessException;
}
